﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.IO;

namespace Client
{
    class ClsClientMonitor
    {
        public delegate void UdskrivBesked(string besked);
        public event UdskrivBesked UdskrivningAfBesked;

        string beskedFraServer;
        object lås = new object();
        NetworkStream stream;
        StreamReader reader;

        string[] split = new string[3];

        public ClsClientMonitor()
        {
            UdskrivningAfBesked = TomMetodeTilDeligat;
        }

        public void TomMetodeTilDeligat(string data)
        {
            // Dumy metode til deligat
        }

        public void TilføjKlient(NetworkStream stream)
        {
            this.stream = stream;
            reader = new StreamReader(stream);

            TekstSplitter(reader.ReadLine());
        }


        public string[] TekstSplitter(string tekst)
        {
            split = tekst.Split(new Char[] {'|'});
            return split;
        }


        public void SendBesked(string besked)
        {
            lock (lås)
            {
                StreamWriter skriver = new StreamWriter(stream);

                skriver.WriteLine(besked);
                skriver.Flush();
            }
        }

        public void ModtagBeskedFraServer(string besked)
        {
            lock (lås)
            {
                beskedFraServer = besked;
                UdskrivningAfBesked(beskedFraServer);
            }
        }

        public string[] Split
        {
            get { return split; }
        }
    }
}
